package com.nlscan.ncomgateway.core.newland.profile

import com.nlscan.ncomgateway.core.newland.entity.BroadcastOutputParams

interface IProfileStrategy {

    /**
     * 只有 NlsProfile 需要处理
     * -- 更新 settingsMap
     */
    fun updateSettings(): HashMap<String, String?>?

    fun getOutputMode(): Int

    fun setOutputMode(mode: Int)


    fun getBroadcastOutputAction(): String

    //BCR Service不支持单独设置广播参数
    //fun setBroadcastOutputAction(value: String)

    fun getBroadcastOutputExtraResult(): String

    //BCR Service不支持单独设置广播参数
    //fun setBroadcastOutputExtraResult(value: String)

    fun getBroadcastOutputParams(): BroadcastOutputParams

    fun setBroadcastOutputParams(params: BroadcastOutputParams)

    /**
     * 解码提示-声音使能
     */
    fun setIndicateSoundEnable(enable: Boolean): Boolean

    /**
     * 解码提示-震动使能
     */
    fun getIndicateVibrateEnable(): Boolean

    fun setIndicateVibrateEnable(enable: Boolean): Boolean

    /**
     * 解码提示-LED使能
     */
    fun getIndicateLedEnable(): Boolean

    fun setIndicateLedEnable(enable: Boolean): Boolean

    fun getPrefix(): String

    fun getPrefixEnable(): Boolean

    fun setPrefixParams(value: String,enable: Boolean) :Boolean

    fun getSuffix(): String

    fun getSuffixEnable(): Boolean

    fun setSuffixParams(value: String,enable: Boolean) :Boolean

}